<?php

/**
 * aprobar_cotizacion actions.
 *
 * @package    SAC_CLonsa
 * @subpackage aprobar_cotizacion
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class revisar_cotizacionActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
    $this->forward('default', 'module');
  }

  public function executeCotizaciones()
  {
      if(CotizacionPeer::doSelectOne(new Criteria()))
      {
          $this->bandera = 0;
          $cotizaciones = CotizacionPeer::getPendientes();
          $this->cotizaciones = $cotizaciones;
      }
      else
      {
          $this->bandera = 1;
      }
  }

  public function executeLicitar(sfWebRequest $peticion)
  {
      if($peticion->getParameter('id') && CotizacionPeer::doSelectOne(new Criteria()))
      {
         /* Se verifica que existan cotizaciones en la base de datos */
         $cotizacion = CotizacionPeer::getCotizacionPorId( $peticion->getParameter('id') );
         $cotizacion->setEstadoCotizacionId(2);
         $solicitudesCotizadas = SolicitudCotizadaPeer::getSolicitudesPorIdCotizacion( $cotizacion->getId() );

         $cont = 0;
         foreach ($solicitudesCotizadas as $solicitudCotizada)
         {
             /* Se devuelve un arreglo con todos los proveedores cotizados para cada solicitud */
             $htProveedoresSolicitudCotizada[$cont] =
                                   ProveedorSolicitudCotizadaPeer::
                                   getProveedoresCotizadosPorIdSolicitudCotizada($solicitudCotizada->getId());
             $cont++;
         }

         $this->cotizacion = $cotizacion;
         $this->solicitudesCotizadas = $solicitudesCotizadas;
         $this->htProveedoresSolicitudCotizada = $htProveedoresSolicitudCotizada;
         $this->contador = $cont;

         /*** Se guarda la elección del proveedor para cada ***/
         if( $peticion->isMethod('post') )
         {
             $cotizacion->save();
             $idsSolicitudes = $peticion->getParameter('idSolicitud');

             foreach($idsSolicitudes as $id)
             {
                 $solicitud_Cotizada = SolicitudCotizadaPeer::getSolicitudCotizadaPorId($id);
                 $solicitudItemOS =ItemOsPeer::getItemOrdenServicioPorId( $solicitud_Cotizada->getItemOsId() );
                 $solicitudItemOS->setEstadoSolicitudId(11); // Se cambia el estado de la solicitud a Licitada ( EstadoItemOSid = 10 )
                 $solicitudItemOS->save();
                 /*Id del proveedor */
                 $solicitud_Cotizada->setIdProveedorCotizadoEscogido( $peticion->getParameter('radio_proveedores_solicitud'.$id) );
                 $solicitud_Cotizada->save();
                 $idsProveedores[$id] = $peticion->getParameter( 'radio_proveedores_solicitud'.$id );
             }
             $this->redirect('revisar_cotizacion/cotizaciones');
             //$this->idsProveedores = $idsProveedores;
         }
         /*** Fin "if Post" ***/

      }
      else
      {
         $this->redirect('revisar_cotizacion/cotizaciones');
      }
  }

  public function executeOk($peticion){
    $this->idCotizacion = $peticion->getParameter('idCotizacion');
  }

}
